#ifndef _ITIMER_H_
#define _ITIMER_H_

interface ITimerEvent : public IBase
{
	std_method(OnTimer)(UINT uId, UINT err) PURE;
};

// {B5819C73-6EF7-4F25-B053-F6F6D4DCBE00}
_DEFINE_IID(IID_ITimerEvent,
	0xb5819c73, 0x6ef7, 0x4f25, 0xb0, 0x53, 0xf6, 0xf6, 0xd4, 0xdc, 0xbe, 0x0);


interface ITimer : public IBase
{
	std_method(Start)() PURE;
	std_method(Stop)() PURE;
	std_method(SetSec)(int isec) PURE;
	std_method(UnBind)() PURE;
	std_method(Bind)(IBase* pBase) PURE;
	std_method_(UINT, GetId)() PURE;
	std_method(SetId)(UINT uId) PURE;
};

// {F36A3734-C9CA-46C9-8F03-AD02AD24058F}
_DEFINE_IID(IID_ITimer,
	0xf36a3734, 0xc9ca, 0x46c9, 0x8f, 0x3, 0xad, 0x2, 0xad, 0x24, 0x5, 0x8f);



#endif
